package com.fable.dal.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AdDataClueQuery {
    /**
     * order by clause.
     */
    protected String orderByClause;

    /**
     * distinct
     */
    protected boolean distinct;

    /**
     * criteria list
     */
    protected List<Criteria> oredCriteria;

    /**
     * page
     */
    protected Integer pageOffset;

    /**
     * page size
     */
    protected Integer pageSize;

    public AdDataClueQuery() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public boolean isValid() {
        for (int i = 0; i < oredCriteria.size(); i++) {
            if (oredCriteria.get(i).isValid()) {
                return true;
            }
        }
        return false;
    }

    public void setPageOffset(Integer pageOffset) {
        this.pageOffset = pageOffset;
    }

    public Integer getPageOffset() {
        return pageOffset;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }
        /**

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }


                public Criteria andGmtCreateIsNull() {
                    addCriterion("gmt_create is null");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateIsNotNull() {
                    addCriterion("gmt_create is not null");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateEqualTo(Date value) {
                    addCriterion("gmt_create =", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateNotEqualTo(Date value) {
                    addCriterion("gmt_create <>", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateGreaterThan(Date value) {
                    addCriterion("gmt_create >", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
                    addCriterion("gmt_create >=", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateLessThan(Date value) {
                    addCriterion("gmt_create <", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
                    addCriterion("gmt_create <=", value, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateIn(List<Date> values) {
                    addCriterion("gmt_create in", values, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateNotIn(List<Date> values) {
                    addCriterion("gmt_create not in", values, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateBetween(Date value1, Date value2) {
                    addCriterion("gmt_create between", value1, value2, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
                    addCriterion("gmt_create not between", value1, value2, "gmtCreate");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedIsNull() {
                    addCriterion("gmt_modified is null");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedIsNotNull() {
                    addCriterion("gmt_modified is not null");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedEqualTo(Date value) {
                    addCriterion("gmt_modified =", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedNotEqualTo(Date value) {
                    addCriterion("gmt_modified <>", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedGreaterThan(Date value) {
                    addCriterion("gmt_modified >", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
                    addCriterion("gmt_modified >=", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedLessThan(Date value) {
                    addCriterion("gmt_modified <", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
                    addCriterion("gmt_modified <=", value, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedIn(List<Date> values) {
                    addCriterion("gmt_modified in", values, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedNotIn(List<Date> values) {
                    addCriterion("gmt_modified not in", values, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedBetween(Date value1, Date value2) {
                    addCriterion("gmt_modified between", value1, value2, "gmtModified");
                    return (Criteria) this;
                }

                public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
                    addCriterion("gmt_modified not between", value1, value2, "gmtModified");
                    return (Criteria) this;
                }
                 **/

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(Long value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(Long value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNull() {
            addCriterion("source_type is null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNotNull() {
            addCriterion("source_type is not null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeEqualTo(String value) {
            addCriterion("source_type =", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotEqualTo(String value) {
            addCriterion("source_type <>", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThan(String value) {
            addCriterion("source_type >", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThanOrEqualTo(String value) {
            addCriterion("source_type >=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThan(String value) {
            addCriterion("source_type <", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThanOrEqualTo(String value) {
            addCriterion("source_type <=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLike(String value) {
            addCriterion("source_type like", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotLike(String value) {
            addCriterion("source_type not like", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIn(List<String> values) {
            addCriterion("source_type in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotIn(List<String> values) {
            addCriterion("source_type not in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeBetween(String value1, String value2) {
            addCriterion("source_type between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotBetween(String value1, String value2) {
            addCriterion("source_type not between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andAdNameIsNull() {
            addCriterion("ad_name is null");
            return (Criteria) this;
        }

        public Criteria andAdNameIsNotNull() {
            addCriterion("ad_name is not null");
            return (Criteria) this;
        }

        public Criteria andAdNameEqualTo(String value) {
            addCriterion("ad_name =", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotEqualTo(String value) {
            addCriterion("ad_name <>", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameGreaterThan(String value) {
            addCriterion("ad_name >", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameGreaterThanOrEqualTo(String value) {
            addCriterion("ad_name >=", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLessThan(String value) {
            addCriterion("ad_name <", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLessThanOrEqualTo(String value) {
            addCriterion("ad_name <=", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameLike(String value) {
            addCriterion("ad_name like", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotLike(String value) {
            addCriterion("ad_name not like", value, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameIn(List<String> values) {
            addCriterion("ad_name in", values, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotIn(List<String> values) {
            addCriterion("ad_name not in", values, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameBetween(String value1, String value2) {
            addCriterion("ad_name between", value1, value2, "adName");
            return (Criteria) this;
        }

        public Criteria andAdNameNotBetween(String value1, String value2) {
            addCriterion("ad_name not between", value1, value2, "adName");
            return (Criteria) this;
        }

        public Criteria andAdPositionIsNull() {
            addCriterion("ad_position is null");
            return (Criteria) this;
        }

        public Criteria andAdPositionIsNotNull() {
            addCriterion("ad_position is not null");
            return (Criteria) this;
        }

        public Criteria andAdPositionEqualTo(String value) {
            addCriterion("ad_position =", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionNotEqualTo(String value) {
            addCriterion("ad_position <>", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionGreaterThan(String value) {
            addCriterion("ad_position >", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionGreaterThanOrEqualTo(String value) {
            addCriterion("ad_position >=", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionLessThan(String value) {
            addCriterion("ad_position <", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionLessThanOrEqualTo(String value) {
            addCriterion("ad_position <=", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionLike(String value) {
            addCriterion("ad_position like", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionNotLike(String value) {
            addCriterion("ad_position not like", value, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionIn(List<String> values) {
            addCriterion("ad_position in", values, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionNotIn(List<String> values) {
            addCriterion("ad_position not in", values, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionBetween(String value1, String value2) {
            addCriterion("ad_position between", value1, value2, "adPosition");
            return (Criteria) this;
        }

        public Criteria andAdPositionNotBetween(String value1, String value2) {
            addCriterion("ad_position not between", value1, value2, "adPosition");
            return (Criteria) this;
        }

        public Criteria andPcLinkIsNull() {
            addCriterion("pc_link is null");
            return (Criteria) this;
        }

        public Criteria andPcLinkIsNotNull() {
            addCriterion("pc_link is not null");
            return (Criteria) this;
        }

        public Criteria andPcLinkEqualTo(String value) {
            addCriterion("pc_link =", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkNotEqualTo(String value) {
            addCriterion("pc_link <>", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkGreaterThan(String value) {
            addCriterion("pc_link >", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkGreaterThanOrEqualTo(String value) {
            addCriterion("pc_link >=", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkLessThan(String value) {
            addCriterion("pc_link <", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkLessThanOrEqualTo(String value) {
            addCriterion("pc_link <=", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkLike(String value) {
            addCriterion("pc_link like", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkNotLike(String value) {
            addCriterion("pc_link not like", value, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkIn(List<String> values) {
            addCriterion("pc_link in", values, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkNotIn(List<String> values) {
            addCriterion("pc_link not in", values, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkBetween(String value1, String value2) {
            addCriterion("pc_link between", value1, value2, "pcLink");
            return (Criteria) this;
        }

        public Criteria andPcLinkNotBetween(String value1, String value2) {
            addCriterion("pc_link not between", value1, value2, "pcLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkIsNull() {
            addCriterion("mobile_link is null");
            return (Criteria) this;
        }

        public Criteria andMobileLinkIsNotNull() {
            addCriterion("mobile_link is not null");
            return (Criteria) this;
        }

        public Criteria andMobileLinkEqualTo(String value) {
            addCriterion("mobile_link =", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkNotEqualTo(String value) {
            addCriterion("mobile_link <>", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkGreaterThan(String value) {
            addCriterion("mobile_link >", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkGreaterThanOrEqualTo(String value) {
            addCriterion("mobile_link >=", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkLessThan(String value) {
            addCriterion("mobile_link <", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkLessThanOrEqualTo(String value) {
            addCriterion("mobile_link <=", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkLike(String value) {
            addCriterion("mobile_link like", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkNotLike(String value) {
            addCriterion("mobile_link not like", value, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkIn(List<String> values) {
            addCriterion("mobile_link in", values, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkNotIn(List<String> values) {
            addCriterion("mobile_link not in", values, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkBetween(String value1, String value2) {
            addCriterion("mobile_link between", value1, value2, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andMobileLinkNotBetween(String value1, String value2) {
            addCriterion("mobile_link not between", value1, value2, "mobileLink");
            return (Criteria) this;
        }

        public Criteria andPcMhcdIsNull() {
            addCriterion("pc_mhcd is null");
            return (Criteria) this;
        }

        public Criteria andPcMhcdIsNotNull() {
            addCriterion("pc_mhcd is not null");
            return (Criteria) this;
        }

        public Criteria andPcMhcdEqualTo(String value) {
            addCriterion("pc_mhcd =", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdNotEqualTo(String value) {
            addCriterion("pc_mhcd <>", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdGreaterThan(String value) {
            addCriterion("pc_mhcd >", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdGreaterThanOrEqualTo(String value) {
            addCriterion("pc_mhcd >=", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdLessThan(String value) {
            addCriterion("pc_mhcd <", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdLessThanOrEqualTo(String value) {
            addCriterion("pc_mhcd <=", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdLike(String value) {
            addCriterion("pc_mhcd like", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdNotLike(String value) {
            addCriterion("pc_mhcd not like", value, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdIn(List<String> values) {
            addCriterion("pc_mhcd in", values, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdNotIn(List<String> values) {
            addCriterion("pc_mhcd not in", values, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdBetween(String value1, String value2) {
            addCriterion("pc_mhcd between", value1, value2, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andPcMhcdNotBetween(String value1, String value2) {
            addCriterion("pc_mhcd not between", value1, value2, "pcMhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdIsNull() {
            addCriterion("h5_mhcd is null");
            return (Criteria) this;
        }

        public Criteria andH5MhcdIsNotNull() {
            addCriterion("h5_mhcd is not null");
            return (Criteria) this;
        }

        public Criteria andH5MhcdEqualTo(String value) {
            addCriterion("h5_mhcd =", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdNotEqualTo(String value) {
            addCriterion("h5_mhcd <>", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdGreaterThan(String value) {
            addCriterion("h5_mhcd >", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdGreaterThanOrEqualTo(String value) {
            addCriterion("h5_mhcd >=", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdLessThan(String value) {
            addCriterion("h5_mhcd <", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdLessThanOrEqualTo(String value) {
            addCriterion("h5_mhcd <=", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdLike(String value) {
            addCriterion("h5_mhcd like", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdNotLike(String value) {
            addCriterion("h5_mhcd not like", value, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdIn(List<String> values) {
            addCriterion("h5_mhcd in", values, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdNotIn(List<String> values) {
            addCriterion("h5_mhcd not in", values, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdBetween(String value1, String value2) {
            addCriterion("h5_mhcd between", value1, value2, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andH5MhcdNotBetween(String value1, String value2) {
            addCriterion("h5_mhcd not between", value1, value2, "h5Mhcd");
            return (Criteria) this;
        }

        public Criteria andPcUvIsNull() {
            addCriterion("pc_uv is null");
            return (Criteria) this;
        }

        public Criteria andPcUvIsNotNull() {
            addCriterion("pc_uv is not null");
            return (Criteria) this;
        }

        public Criteria andPcUvEqualTo(Long value) {
            addCriterion("pc_uv =", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvNotEqualTo(Long value) {
            addCriterion("pc_uv <>", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvGreaterThan(Long value) {
            addCriterion("pc_uv >", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvGreaterThanOrEqualTo(Long value) {
            addCriterion("pc_uv >=", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvLessThan(Long value) {
            addCriterion("pc_uv <", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvLessThanOrEqualTo(Long value) {
            addCriterion("pc_uv <=", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvLike(Long value) {
            addCriterion("pc_uv like", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvNotLike(Long value) {
            addCriterion("pc_uv not like", value, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvIn(List<Long> values) {
            addCriterion("pc_uv in", values, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvNotIn(List<Long> values) {
            addCriterion("pc_uv not in", values, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvBetween(Long value1, Long value2) {
            addCriterion("pc_uv between", value1, value2, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcUvNotBetween(Long value1, Long value2) {
            addCriterion("pc_uv not between", value1, value2, "pcUv");
            return (Criteria) this;
        }

        public Criteria andPcPvIsNull() {
            addCriterion("pc_pv is null");
            return (Criteria) this;
        }

        public Criteria andPcPvIsNotNull() {
            addCriterion("pc_pv is not null");
            return (Criteria) this;
        }

        public Criteria andPcPvEqualTo(Long value) {
            addCriterion("pc_pv =", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvNotEqualTo(Long value) {
            addCriterion("pc_pv <>", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvGreaterThan(Long value) {
            addCriterion("pc_pv >", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvGreaterThanOrEqualTo(Long value) {
            addCriterion("pc_pv >=", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvLessThan(Long value) {
            addCriterion("pc_pv <", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvLessThanOrEqualTo(Long value) {
            addCriterion("pc_pv <=", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvLike(Long value) {
            addCriterion("pc_pv like", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvNotLike(Long value) {
            addCriterion("pc_pv not like", value, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvIn(List<Long> values) {
            addCriterion("pc_pv in", values, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvNotIn(List<Long> values) {
            addCriterion("pc_pv not in", values, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvBetween(Long value1, Long value2) {
            addCriterion("pc_pv between", value1, value2, "pcPv");
            return (Criteria) this;
        }

        public Criteria andPcPvNotBetween(Long value1, Long value2) {
            addCriterion("pc_pv not between", value1, value2, "pcPv");
            return (Criteria) this;
        }

        public Criteria andH5UvIsNull() {
            addCriterion("h5_uv is null");
            return (Criteria) this;
        }

        public Criteria andH5UvIsNotNull() {
            addCriterion("h5_uv is not null");
            return (Criteria) this;
        }

        public Criteria andH5UvEqualTo(Long value) {
            addCriterion("h5_uv =", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvNotEqualTo(Long value) {
            addCriterion("h5_uv <>", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvGreaterThan(Long value) {
            addCriterion("h5_uv >", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvGreaterThanOrEqualTo(Long value) {
            addCriterion("h5_uv >=", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvLessThan(Long value) {
            addCriterion("h5_uv <", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvLessThanOrEqualTo(Long value) {
            addCriterion("h5_uv <=", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvLike(Long value) {
            addCriterion("h5_uv like", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvNotLike(Long value) {
            addCriterion("h5_uv not like", value, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvIn(List<Long> values) {
            addCriterion("h5_uv in", values, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvNotIn(List<Long> values) {
            addCriterion("h5_uv not in", values, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvBetween(Long value1, Long value2) {
            addCriterion("h5_uv between", value1, value2, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5UvNotBetween(Long value1, Long value2) {
            addCriterion("h5_uv not between", value1, value2, "h5Uv");
            return (Criteria) this;
        }

        public Criteria andH5PvIsNull() {
            addCriterion("h5_pv is null");
            return (Criteria) this;
        }

        public Criteria andH5PvIsNotNull() {
            addCriterion("h5_pv is not null");
            return (Criteria) this;
        }

        public Criteria andH5PvEqualTo(Long value) {
            addCriterion("h5_pv =", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvNotEqualTo(Long value) {
            addCriterion("h5_pv <>", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvGreaterThan(Long value) {
            addCriterion("h5_pv >", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvGreaterThanOrEqualTo(Long value) {
            addCriterion("h5_pv >=", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvLessThan(Long value) {
            addCriterion("h5_pv <", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvLessThanOrEqualTo(Long value) {
            addCriterion("h5_pv <=", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvLike(Long value) {
            addCriterion("h5_pv like", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvNotLike(Long value) {
            addCriterion("h5_pv not like", value, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvIn(List<Long> values) {
            addCriterion("h5_pv in", values, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvNotIn(List<Long> values) {
            addCriterion("h5_pv not in", values, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvBetween(Long value1, Long value2) {
            addCriterion("h5_pv between", value1, value2, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andH5PvNotBetween(Long value1, Long value2) {
            addCriterion("h5_pv not between", value1, value2, "h5Pv");
            return (Criteria) this;
        }

        public Criteria andPcClueCountIsNull() {
            addCriterion("pc_clue_count is null");
            return (Criteria) this;
        }

        public Criteria andPcClueCountIsNotNull() {
            addCriterion("pc_clue_count is not null");
            return (Criteria) this;
        }

        public Criteria andPcClueCountEqualTo(Long value) {
            addCriterion("pc_clue_count =", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountNotEqualTo(Long value) {
            addCriterion("pc_clue_count <>", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountGreaterThan(Long value) {
            addCriterion("pc_clue_count >", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountGreaterThanOrEqualTo(Long value) {
            addCriterion("pc_clue_count >=", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountLessThan(Long value) {
            addCriterion("pc_clue_count <", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountLessThanOrEqualTo(Long value) {
            addCriterion("pc_clue_count <=", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountLike(Long value) {
            addCriterion("pc_clue_count like", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountNotLike(Long value) {
            addCriterion("pc_clue_count not like", value, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountIn(List<Long> values) {
            addCriterion("pc_clue_count in", values, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountNotIn(List<Long> values) {
            addCriterion("pc_clue_count not in", values, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountBetween(Long value1, Long value2) {
            addCriterion("pc_clue_count between", value1, value2, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andPcClueCountNotBetween(Long value1, Long value2) {
            addCriterion("pc_clue_count not between", value1, value2, "pcClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountIsNull() {
            addCriterion("h5_clue_count is null");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountIsNotNull() {
            addCriterion("h5_clue_count is not null");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountEqualTo(Long value) {
            addCriterion("h5_clue_count =", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountNotEqualTo(Long value) {
            addCriterion("h5_clue_count <>", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountGreaterThan(Long value) {
            addCriterion("h5_clue_count >", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountGreaterThanOrEqualTo(Long value) {
            addCriterion("h5_clue_count >=", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountLessThan(Long value) {
            addCriterion("h5_clue_count <", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountLessThanOrEqualTo(Long value) {
            addCriterion("h5_clue_count <=", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountLike(Long value) {
            addCriterion("h5_clue_count like", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountNotLike(Long value) {
            addCriterion("h5_clue_count not like", value, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountIn(List<Long> values) {
            addCriterion("h5_clue_count in", values, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountNotIn(List<Long> values) {
            addCriterion("h5_clue_count not in", values, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountBetween(Long value1, Long value2) {
            addCriterion("h5_clue_count between", value1, value2, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andH5ClueCountNotBetween(Long value1, Long value2) {
            addCriterion("h5_clue_count not between", value1, value2, "h5ClueCount");
            return (Criteria) this;
        }

        public Criteria andTargetCarIsNull() {
            addCriterion("target_car is null");
            return (Criteria) this;
        }

        public Criteria andTargetCarIsNotNull() {
            addCriterion("target_car is not null");
            return (Criteria) this;
        }

        public Criteria andTargetCarEqualTo(String value) {
            addCriterion("target_car =", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarNotEqualTo(String value) {
            addCriterion("target_car <>", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarGreaterThan(String value) {
            addCriterion("target_car >", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarGreaterThanOrEqualTo(String value) {
            addCriterion("target_car >=", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarLessThan(String value) {
            addCriterion("target_car <", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarLessThanOrEqualTo(String value) {
            addCriterion("target_car <=", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarLike(String value) {
            addCriterion("target_car like", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarNotLike(String value) {
            addCriterion("target_car not like", value, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarIn(List<String> values) {
            addCriterion("target_car in", values, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarNotIn(List<String> values) {
            addCriterion("target_car not in", values, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarBetween(String value1, String value2) {
            addCriterion("target_car between", value1, value2, "targetCar");
            return (Criteria) this;
        }

        public Criteria andTargetCarNotBetween(String value1, String value2) {
            addCriterion("target_car not between", value1, value2, "targetCar");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateIsNull() {
            addCriterion("analysis_date is null");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateIsNotNull() {
            addCriterion("analysis_date is not null");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateEqualTo(Date value) {
            addCriterion("analysis_date =", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateNotEqualTo(Date value) {
            addCriterion("analysis_date <>", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateGreaterThan(Date value) {
            addCriterion("analysis_date >", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateGreaterThanOrEqualTo(Date value) {
            addCriterion("analysis_date >=", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateLessThan(Date value) {
            addCriterion("analysis_date <", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateLessThanOrEqualTo(Date value) {
            addCriterion("analysis_date <=", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateLike(Date value) {
            addCriterion("analysis_date like", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateNotLike(Date value) {
            addCriterion("analysis_date not like", value, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateIn(List<Date> values) {
            addCriterion("analysis_date in", values, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateNotIn(List<Date> values) {
            addCriterion("analysis_date not in", values, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateBetween(Date value1, Date value2) {
            addCriterion("analysis_date between", value1, value2, "analysisDate");
            return (Criteria) this;
        }

        public Criteria andAnalysisDateNotBetween(Date value1, Date value2) {
            addCriterion("analysis_date not between", value1, value2, "analysisDate");
            return (Criteria) this;
        }

    }

    /**
     * This class corresponds to the database table bi_ad_data_clue
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * This class corresponds to the database table bi_ad_data_clue
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}